Remote control techniques have become widespread in recent years, due in part to the availability of very large bandwidths in modern telecommunication networks. Generally speaking, a remote control application executed on a remotely-located computer may manage a local computer over a corresponding communication channel. Particularly, data and commands may be input to the local computer through the remote computer. At the same time, information output by the local computer may be replicated on the remote computer. In this manner, the local computer may be substantially completely controlled by the remote computer. Indeed, an operator of the remote computer may work on the local computer as if sitting in front of it.
Remote control techniques may be used to perform maintenance operations on various local computers from a single remote computer. Often, the remote computer may be situated in a central location, while the local computers occupy various peripheral locations.
A typical remote control application involves the installation, removal and upgrade of software products on local computers under the control of the remote computer. Another common application involves remotely diagnosing and fixing problems on the local computers via the remote computer. These techniques may reduce costs associated with maintenance operations, while improving overall quality and responsiveness.
Sometimes, remotely controlling a generic local computer requires its rebooting or restarting. This may occur, for example, where maintenance operations performed on the local computer update its configuration parameters. In this case, it may be necessary to reboot the local computer to make the new configuration parameters take effect. The remote computer may thus send a reboot command to the local computer to shut down and then boot the local computer again. Rebooting in this manner may cause the local computer to access a simple startup routine that initializes the various components of the local computer and then loads its operating system.
Techniques for booting a generic computer over a network have been proposed. In certain cases the startup routine may search the network for a boot server storing the information required to complete booting. This information may then be downloaded onto the computer by means of a simple protocol. For example, the computer may download the operating system, or may download a basic module adapted to download the operating system.
In any case, the local computer may be password-protected to ensure that access to the local computer is granted to authorized persons only. This password must generally be entered manually on the local computer to enable completion of the booting procedure.